package com.zrx.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zrx.domain.ResponseResult;
import com.zrx.domain.dto.AddArticleDto;
import com.zrx.domain.dto.ArticleListDto;
import com.zrx.domain.entity.Article;
import com.zrx.domain.vo.PageVo;

/**
 * @author 张荣欣
 * @create ：2022/9/14  17:18
 */
public interface ArticleService extends IService<Article> {

    /**
     * 查询热门文章
     */
    ResponseResult hotArticleList();
    /**
     * hou 查询热门文章
     */
    ResponseResult hotHouArticleList();

    /**
     * 前台分页查询文字
     * @param pageNum
     * @param pageSize
     * @param categoryId
     * @return
     */
    ResponseResult articlePageList(Integer pageNum, Integer pageSize, Long categoryId);

    /**
     * //查询文章内容
     * @param id
     * @return
     */
    ResponseResult getarticleDetail(Long id);

    /**
     * 更新redis 浏览记录
     * @param id
     * @return
     */
    ResponseResult updateViewCount(Long id);

    /**
     * 添加文章
     * @param addArticleDto
     * @return
     */
    ResponseResult add(AddArticleDto addArticleDto);

    /**
     * 分页查询文章
     * @param pageNum
     * @param pageSize
     * @param articleListDto
     * @return
     */
    ResponseResult<PageVo> pageArticleList(Integer pageNum, Integer pageSize, ArticleListDto articleListDto);

    /**
     * 根据id查询文章
     * @param id
     * @return
     */
    ResponseResult getByIdOneArticle(Long id);

    /**
     * 修改文章
     * @param addArticleDto
     * @return
     */
    ResponseResult updateArticle(AddArticleDto addArticleDto);
}
